﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Event_Planner.Models;
using System.Web.Mvc;


namespace Event_Planner.DataAccess
{
    public class Contactos
    {
        public EventPlannerContext db = new EventPlannerContext();


        public void EliminarContactosPropios(UsuariosModel Usuario)
        {
            if (Usuario != null)
            {
                if (Usuario.ContactosUsuario != null)
                {
                    foreach (ContactosModel Contacto in Usuario.ContactosUsuario.ToList())
                    {
                        EliminarContacto(Contacto);
                    }
                }
            }
        }



        public void EliminarContacto(ContactosModel Contacto)
        {

            if (Contacto != null)
            {
                foreach (EventoConfirmacion eventoConfirmacion in Contacto.EventosParticipantes.ToList())
                {
                    db.Contactos.Find(Contacto.ID).EventosParticipantes.Remove(eventoConfirmacion);
                    db.Eventos.Find(eventoConfirmacion.Evento.ID).ParticipantesEvento.Remove(eventoConfirmacion);
                }

                db.Contactos.Remove(db.Contactos.Find(Contacto.ID));

                db.SaveChanges();
            }
        }



 
        public ICollection<CSVModel> ListaContactosSinID(string UsuarioActual)
        {
            List<CSVModel> VarListaContactosSinID = new List<CSVModel>();

            ICollection<ContactosModel> ListaContactos = db.Usuarios.Find(UsuarioActual).ContactosUsuario;

            foreach (ContactosModel Contacto in ListaContactos)
            {
                CSVModel ContactoTemp = new CSVModel
                {
                    Nombre = Contacto.NombreContacto,
                    Apellido = Contacto.ApellidoContacto,
                    Email = Contacto.EmailContacto,
                };

                VarListaContactosSinID.Add(ContactoTemp);
            }
            return VarListaContactosSinID;
        }

    }
}